package com.ruoyi.common.core.domain.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.jdbc.core.JdbcTemplate;


/**
 * 系统模块信息对象 zx_sysmenu
 * 
 * @author ruoyi
 * @date 2021-04-23
 */
public class SysMenu extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 标识ID */
    private Long smId;

    /** 模块名称 */
    @Excel(name = "模块名称")
    private String smTitle;

    /** 模块路径 */
    @Excel(name = "模块路径")
    private String smUrl;

    /** 模块图标 */
    @Excel(name = "模块图标")
    private String smIcon;

    /** 升序排序码 */
    @Excel(name = "升序排序码")
    private Integer smSort;

    /** -1禁用1启用 */
    @Excel(name = "-1禁用1启用")
    private Integer smStatus;

    /** 父模块标识ID */
    @Excel(name = "父模块标识ID")
    private Long smPid;

    /** 编辑用户 */
    @Excel(name = "编辑用户")
    private Long uId;

    /** 编辑时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "编辑时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date time;

    private String perms;

    /** 跳转类型 */
    @Excel(name = "跳转类型")
    private Integer smType;


    /** 子菜单 */
    private List<SysMenu> children = new ArrayList<SysMenu>();
    public List<SysMenu> getChildren()
    {
        return children;
    }

    public void setChildren(List<SysMenu> children)
    {
        this.children = children;
    }

    public void setSmId(Long smId)
    {
        this.smId = smId;
    }

    public Long getSmId()
    {
        return smId;
    }
    public void setSmTitle(String smTitle) 
    {
        this.smTitle = smTitle;
    }

    public String getSmTitle() 
    {
        return smTitle;
    }
    public void setSmUrl(String smUrl) 
    {
        this.smUrl = smUrl;
    }

    public String getSmUrl() 
    {
        return smUrl;
    }
    public void setSmIcon(String smIcon) 
    {
        this.smIcon = smIcon;
    }

    public String getSmIcon() 
    {
        return smIcon;
    }
    public void setSmSort(Integer smSort) 
    {
        this.smSort = smSort;
    }

    public Integer getSmSort() 
    {
        return smSort;
    }
    public void setSmStatus(Integer smStatus) 
    {
        this.smStatus = smStatus;
    }

    public Integer getSmStatus() 
    {
        return smStatus;
    }
    public void setSmPid(Long smPid)
    {
        this.smPid = smPid;
    }

    public Long getSmPid()
    {
        return smPid;
    }
    public void setSmType(Integer smType)
    {
        this.smType = smType;
    }

    public Integer getSmType()
    {
        return smType;
    }
    public void setuId(Long uId)
    {
        this.uId = uId;
    }

    public Long getuId()
    {
        return uId;
    }
    public void setTime(Date time) 
    {
        this.time = time;
    }

    public Date getTime() 
    {
        return time;
    }

    public String getPerms() {
        return perms;
    }

    public void setPerms(String perms) {
        this.perms = perms;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("smId", getSmId())
            .append("smTitle", getSmTitle())
            .append("smUrl", getSmUrl())
            .append("smIcon", getSmIcon())
            .append("smSort", getSmSort())
            .append("smStatus", getSmStatus())
            .append("smPid", getSmPid())
            .append("smType", getSmType())
            .append("uId", getuId())
            .append("time", getTime())
            .toString();
    }
}
